![]() device and method of data storage
专利摘要:
DATA STORAGE APPARATUS AND METHOD. It is a device and method of data storage. The method includes: determining (110) the same column attribute of at least two data objects that must be stored in a distributed database of type KeyValue; determine (120) a format of a row identifier, in the distributed database of type KeyValue, of each data object in at least two data objects, where the row identifier format includes the same column attribute and a data object identifier, and data object identifiers of different data objects in at least two data objects are in the same location in the row identifier format and located behind the same column attribute; determining (130) a row identifier value for each data record of each data object in accordance with the determined row identifier format of each data object; and storing (140) the row identifier value of each data record and each data record in the distributed database of type KeyValue, where the row identifier value of (...). 公开号:BR112016004490B1 申请号:R112016004490-8 申请日:2013-08-29 公开日:2020-11-10 发明作者:Jieshan BI;Wei ZHI 申请人:Huawei Technologies Co., Ltd; IPC主号:
专利说明:
TECHNICAL FIELD [001] The present invention relates to the field of information technology and, in particular, to an apparatus and method of data storage. BACKGROUND OF THE TECHNIQUE [002] As a distributed column storage database, a key value type distributed database (KeyValue) has high scalability and robustness and has been widely applied in more and more systems. A distributed database user table of type KeyValue is generally designed to store data that is in a relatively simple data format, which has simple correlation, but can be massive in quantity, for example, to store page address information from the web, to store call log information, or to store network access and similar log information. The distributed database of type KeyValue can provide a quick query according to a row key (RowKey) of a data record, and the quick query is irrelevant for a quantity of data. A physical node can be dynamically added to the distributed database of type KeyValue when a current storage space usage reaches a threshold. [003] In existing enterprise database applications, generally many user data tables are correlated, these data tables have different sizes, and an internal correlation may exist between table data. However, the distributed database of type KeyValue based on an array made in irregular periods is suitable for storing a table with a large amount of data. If these original tables are directly imported into the distributed database of type KeyValue, excessively small tables exist; therefore, it is difficult to implement a cross-table correlated query, and the complexity of administration also increases. That is, when data in conventional applications are migrated into the distributed database of type KeyValue, to complete the correlation query between a user table and another user table, different tables need to be consulted, and a constant data location needs to be carried out, which causes low efficiency. SUMMARY [004] The modalities of the present invention provide an apparatus and method for storing data that can improve the efficiency of data query. [005] A first aspect provides a method of data storage, which includes: determining the same column attribute of at least two data objects that must be stored in a distributed database of the KeyValue type; determine a format of a row identifier, in the distributed database of type KeyValue, of each data object in at least two data objects, where the row identifier format includes the same column attribute and an object identifier data, and data object identifiers of different data objects in the at least two data objects are in the same location in the row identifier format and located behind the same column attribute; determining a row identifier value for each data record for each data object according to the determined row identifier format for each data object; and store the row identifier value of each data record and each data record in the distributed database of type KeyValue, where the row identifier value of each data record is used as a primary index, in the database distributed data of type KeyValue, of each data record. [006] In a first possible way of implantation, the method additionally includes: for row identifier values of all data records, classify all data records in a first order, so that all data records of at least least two data objects form a grouping table. [007] With reference to the first possible way of implantation of the first aspect, in a second way of possible implantation, the first order is a lexicographic order. [008] With reference to the first aspect or the first or second way of possible implantation of the first aspect, in a third way of possible implantation, the method additionally includes: receiving a data request, in which the data request instructs to consult or obtain a data record on at least two data objects; build, according to the row identifier format, query information to query the distributed database of type KeyValue, where the query information includes the same column attribute; and export, according to the query information, a data record whose primary index includes the query information from the distributed database of type KeyValue. [009] With reference to the first aspect or any way of implantation possible in the first to third possible ways of implantation of the first aspect, in a fourth way of possible implantation, the determination of a format of a row identifier, in the distributed database of the KeyValue type, of each data object in at least two data objects includes: specifying a first row identifier prefix in the distributed database of type KeyValue for at least two data objects, where the first prefix is a constant; and determining that a row identifier format of a first data object in at least two data objects includes the first prefix, the same column attribute and a data object identifier for the first data object; or determine that a row identifier format for a second data object in at least two data objects includes the first prefix, the same column attribute, a data object identifier for the second data object, and a column attribute that it is in column attributes of the second data object and can distinguish all data records from the second data object. [010] With reference to the fourth possible implementation of the first aspect, in a fifth possible implementation, the query information includes the first prefix and the same column attribute. [01l] With reference to the fourth or fifth way of possible deployment of the first aspect, in a sixth way of possible deployment, the method additionally includes: determining that a secondary index format, in the distributed database of type KeyValue, of any data object in at least two data objects is a second prefix, a second attribute and the same column attribute, where the second attribute is a column attribute that is in column attributes of any data object and is different from same attribute, and the second prefix is a different constant from the first prefix; determine the secondary index of any data object according to the format of the secondary index of any data object; and store the secondary index of any data object in the distributed database of type KeyValue. [012] With reference to the first aspect or any possible implantation way in the first to sixth possible implantation ways of the first aspect, in a seventh possible implantation way, a separator is defined between fields in the row identifier format, or the fields have a fixed length. [013] A second aspect provides a data storage device, which includes: a determination module, configured to determine the same column attribute of at least two data objects that must be stored in a distributed database of type KeyValue key value; determine a format of a row identifier, in the distributed database of type KeyValue, of each data object in at least two data objects, where the row identifier format includes the same column attribute and an object identifier data, and data object identifiers of different data objects in the at least two data objects are in the same location in the row identifier format and located behind the same column attribute; and determining a row identifier value for each data record of each data object in accordance with the determined row identifier format of each data object; and a storage module, configured to store the row identifier value of each data record and each data record in the distributed database of type KeyValue, where the row identifier value of each data record is used as a primary index, in the distributed database of type KeyValue, for each data record. [014] In a first possible deployment way, the storage module is additionally configured to: for row identifier values of all data records, classify all data records in a first order, so that all records data from at least two data objects form a grouping table. [015] With reference to the first possible way of implanting the second aspect, in a second possible way of implantation, the first order is a lexicographic order. [016] With reference to the second aspect or the first or second way of possible implantation of the Second aspect, in a third way of possible implantation, the device additionally includes: a receiving module, configured to receive a data request, in which the data request instructs to query or obtain a data record on at least two data objects; and a query module, configured to build, according to the row identifier format, query information to query the distributed database of type KeyValue, where the query information includes the same column attribute; and export, according to the query information, a data record whose primary index includes the query information from the distributed database of type KeyValue. [017] With reference to the second aspect or any possible deployment method in the first to third possible deployment modes of the second aspect, in a fourth possible deployment mode, the determination module is specifically configured to specify a first row identifier prefix in the distributed database of type KeyValue for at least two data objects, where the first prefix is a constant; and determining that a row identifier format of a first data object in at least two data objects includes the first prefix, the same column attribute and a data object identifier for the first data object; or determine that a row identifier format for a second data object in at least two data objects includes the first prefix, the same column attribute, a data object identifier for the second data object, and a column attribute that it is in column attributes of the second data object and can distinguish all data records from the second data object. [018] With reference to the fourth possible implementation of the second aspect, in a fifth possible implementation, the query information includes the first prefix and the same column attribute. [019] With reference to the fourth or fifth way of possible deployment of the second aspect, in a sixth way of possible deployment, the determination module is additionally configured to determine that a secondary index format, in the distributed database of type KeyValue , of any data object in at least two data objects is a second prefix, a second attribute and the same column attribute, where the second attribute is a column attribute that is in the column attributes of any data object and it is different from the same attribute, and the second prefix is a different constant from the first prefix; and determining the secondary index of any data object according to the format of the secondary index of any data object; and the storage module is additionally configured to store the secondary index of any data object in the distributed database of type KeyValue. [020] With reference to the second aspect or any possible way of implantation in the first to sixth possible ways of implantation of the second aspect, in a seventh way of possible implantation, a separator is defined between fields in the format of row identifier, or the fields have a fixed length. [021] Based on the aforementioned technical solutions, the apparatus and method of data storage in the modalities of the present invention, correlated data objects are stored in a distributed database of the KeyValue type through the use of a row identifier format that it includes the same column attribute, so that the correlated query can be deployed across multiple data objects, thereby improving data query efficiency. BRIEF DESCRIPTION OF THE DRAWINGS [022] To describe the technical solutions in the modalities of the present invention more clearly, the following briefly introduces the accompanying drawings required to describe the modalities of the present invention. Of course, the accompanying drawings in the description below show merely some embodiments of the present invention, and a person of ordinary skill in the art can still derive other designs from these drawings in attachments without creative efforts. [023] Figure 1 is a schematic flow chart of a data storage method according to an embodiment of the present invention. [024] Figure 2 is a schematic flow chart of a method for determining a row identifier format according to an embodiment of the present invention. [025] Figure 3 is a schematic flow chart of a data storage method according to another embodiment of the present invention. [026] Figure 4 is a schematic flowchart of a data storage method in accordance with yet another embodiment of the present invention. [027] Figure 5 is a schematic block diagram of a data storage device according to an embodiment of the present invention. [028] Figure 6 is a schematic block diagram of a data storage device according to another embodiment of the present invention. [029] Figure 7 is a schematic structural diagram of a data storage device according to an embodiment of the present invention. DESCRIPTION OF THE MODALITIES [030] In the following, technical solutions in the modalities of the present invention are described in a clear and complete manner with reference to the accompanying drawings in the modalities of the present invention. Of course, the embodiments described are some, but not all, of the present invention. All other modalities obtained by a person skilled in the art based on the modalities of the present invention without creative efforts should fall within the scope of protection of the present invention. [031] The technical solutions in the modalities of the present invention can be applied to a distributed database of the KeyValue type. [032] In the embodiments of the present invention, a data object is a data table (also briefly called a table) or data in a data table format. For example, the data can be call log data, network access log data or the like. For ease of description, in the modalities below, the description is made using a data table as an example. [033] Figure 1 shows a schematic flow chart of a data storage method 100 according to an embodiment of the present invention. The method in Figure 1 is performed by a data storage device. As shown in Figure 1, method 100 includes: S110: Determine the same column attribute for at least two data objects that must be stored in a distributed database of type KeyValue. S120: Determine a format of a row identifier, in the distributed database of type KeyValue, of each data object in at least two data objects, where the row identifier format includes the same column attribute and an identifier data object identifiers, and data object identifiers of different data objects in the at least two data objects are in the same location in the row identifier format and located behind the same column attribute. S130: Determine a row identifier value for each data record for each data object according to the determined row identifier format for each data object. S140: Store the row identifier value of each data record and each data record in the distributed database of type KeyValue, where the row identifier value of each data record is used as a primary index, in the bank distributed data of type KeyValue, of each data record. [034] In this embodiment of the present invention, when multiple (that is, at least two) data objects are correlated, that is, multiple data objects have the same column attribute, to facilitate a correlated query on multiple data objects, the data storage device stores multiple data objects in a distributed database table of type KeyValue. The data storage device determines, based on the same column attribute, a format of a row identifier (for example, a RowKey), in the distributed database of type KeyValue, of each data object, in which the format row identifier includes the same column attribute and a data object identifier, and data object identifiers of different data objects in at least two data objects are in the same location in the row identifier format and located behind of the same column attribute. That is, row identifier formats for all data objects include the same column attribute in order to facilitate a query, and additionally include data object identifiers that correspond to the data objects in order to distinguish different data objects. The data object identifiers of different data objects are in the same location in row identifier formats and located behind the same column attribute, so that the row identifier formats of different data objects are of a consistent structure . The data storage device then determines a row identifier value for each data record in each data object according to the determined row identifier format, and stores the row identifier value of each data record and each data record in the distributed database of type KeyValue, where the row identifier value of each data record is used as a primary index, in the distributed database of type KeyValue, of each data record. Due to the fact that consistent row identifier formats are used for multiple correlated data objects, therefore, during data query, query information is constructed according to row identifier formats, so that the query correlated data can be deployed across multiple data objects in a data table, thereby improving data query efficiency. [035] Therefore, in the data storage method in this modality of the present invention, correlated data objects are stored in a distributed database of type KeyValue through the use of a row identifier format that includes the same column attribute, so that the correlated query can be deployed across multiple data objects, thereby improving data query efficiency. [036] It should be understood that, in this embodiment of the present invention, a row identifier is an identifier for each row of data. The row identifier can be expressed as a RowKey or a key, which is not limited to the present invention. For ease of description, in the following modalities, the description is made using a RowKey as an example. [037] This embodiment of the present invention is described below in detail using a specific example. It should be noted that the example is merely intended to assist a person skilled in the art to better understand this embodiment of the present invention, but is not intended to limit the scope of that embodiment of the present invention. [038] In step S110, the data storage device determines the same column attribute of at least two data objects that must be stored in the distributed database of type KeyValue. [039] Such multiple data objects have the same column attribute means that multiple data objects are correlated. [040] For example, for a data object A, to which table 1 that records student information is used as an example, student attribute information includes column attributes (Column) such as name (Name), student number student (ID), gender (Sex) and department (Dept). Table 1 [041] For a B data object, for which table 2 that records variable student curriculum information is used as an example, the student's attribute information includes column attributes such as sequence number (No.), student number student (ID) and course (Course). Table 2 [042] Both tables 1 and 2 have a column ID, that is, table 1 and table 2 have the same column attribute ID; therefore, table 1 and table 2 are correlated data objects. [043] In step S120, the data storage device determines a format of a row identifier, in the distributed database of type KeyValue, of each data object in at least two data objects. [044] The row identifier format includes the same column attribute and a data object identifier, and data object identifiers of different data objects in at least two data objects are in the same location in the identifier format row and located behind the same column attribute. [045] Specifically, in this embodiment of the present invention, to improve data query efficiency, each data object is not stored in an independent table, but instead, multiple data objects are stored in a table according to a uniform format that thereby implements the correlated query. To store multiple data objects in a table, a row identifier format needs to be configured first, and where a RowKey format that is designed before is used as an example, that is, a RowKey includes which elements of composition and how the elements of composition that are combined are specified beforehand. In this embodiment, the elements of composition of the row identifier include: the same column attribute of the at least two data objects and a data object identifier. The same column attribute is used to store the at least two data objects in a correlated manner, and the data object identifier is used to indicate a data object from which each row of data originates. The data object identifier is located behind the same column attribute, and data object identifiers for all data objects are in the same location in row identifier formats. Specifically, data object identifiers from different data objects can be different constants, to distinguish between different data objects. [046] In this embodiment of the present invention, optionally, as shown in Figure 2, step S120 includes: S121: Specifying a first prefix of a row identifier in the distributed database of type KeyValue for at least two data objects, where the first prefix is a constant. S122: Determine that a row identifier format for a first data object in at least two data objects includes the first prefix, the same column attribute and a data object identifier for the first data object. Alternatively, S123: Determine that a row identifier format for a second data object in at least two data objects includes the first prefix, the same column attribute, a data object identifier for the second data object and an attribute column that is in column attributes of the second data object and can distinguish all data records from the second data object. [047] Specifically, in this modality, a row identifier includes the same prefix (expressed as a first prefix). Using a RowKey as an example, RowKey is in the following format: RowKey = first prefix + same column attribute + data object identifier (+ another attribute). [048] In this modality, for different data objects, the RowKey format includes the same first prefix and the same attribute. In this way, when data records are stored in an order of RowKey values, data records from different data objects can be stored adjacent (which is called cluster storage). Then different data objects are distinguished through the use of a data object identifier for each data object. In addition, when the same column attribute can distinguish all data records from a data object (expressed as a first data object), for example, the ID attribute in table 1 can distinguish all data records from the table 1, a RowKey format of the first data object does not include another attribute. When the same attribute cannot distinguish all data records from one data object (expressed as a second data object), for example, the ID attribute in table 2 cannot distinguish all data records from table 2, one RowKey format of the second data object must additionally include an attribute that is in other column attributes of the second data object and can distinguish all data records from the second data object, for example, the No. attribute in table 2 . [049] Using table 1 and table 2 as examples, the same column attribute for them is ID. For table 1, ID can distinguish all data records from table 1; therefore, a RowKey format of table 1 can be: A (first prefix) + ID + M (M is a data object identifier that corresponds to table 1) [050] For table 2, ID cannot distinguish all data records from table 2, and n ° can distinguish all data records from table 2; therefore, a RowKey format of table 2 can be: A (first prefix) + ID + N (N is a data object identifier that corresponds to table 2) + n ° [051] In this embodiment of the present invention, optionally, a separator is defined between fields in the format of a row identifier, or the fields have a fixed length. [052] That is, "+" in the aforementioned RowKey format can be a separator. Alternatively, fields in the RowKey format can be defined to have a fixed length; in this case, "+" does not actually exist. [053] In step S130, the data storage device determines a row identifier value for each data record of each data object according to the determined row identifier format of each data object. [054] Specifically, using a RowKey as an example, the data storage device determines a RowKey value for each data record in each data object according to the given RowKey format. [055] For example, for the first data record in data object A, a value of RowKey is A0001M; and for the first data record in data object B, a value of RowKey is A0001N1, and so on. [056] In step S140, the data storage device stores the row identifier value of each data record and each data record in the distributed database of type KeyValue. [057] The row identifier value of each data record is used as a primary index, in the distributed database of type KeyValue, for each data record. [058] In this embodiment of the present invention, optionally, as shown in Figure 3, method 100 additionally includes: S150: For row identifier values of all data records, classify all data records in a first order, so that all data records of at least two data objects form a grouping table. [059] In this embodiment of the present invention, data records are stored in the distributed database of type KeyValue in an order of row identifier values, so that data records from multiple data objects form a grouping table. In this way of grouping table storage, a range of a row identifier value can correspond to a partition, that is, when a row identifier value of a data record belongs to a range, the data record is in a partition that corresponds to that range; therefore, a query according to a range can be supported. [060] The first order can be a lexicographic order, for example, all data records can be classified in the distributed database of type KeyValue in a lexicographic order of RowKey values. The first order can also be another order, for example, an order of magnitude, that is, data records can be stored sequentially in an order of magnitude of RowKey values, in which a small RowKey value is stored before a a large RowKey value, or a large RowKey value is stored before a small RowKey value. The first order is not limited to this embodiment of the present invention. For ease of description, in the following modalities, the description is made using a lexicographic order of RowKey values as an example. [061] Using table 1 and table 2 as examples, table 3 is obtained when storage is performed in the distributed database of type KeyValue in a lexicographic order of RowKey values. Table 3 (a column that includes a diagonal indicates that a current row of data does not have the column, that it does not take up any storage space, and the same occurs below). [062] By using the data storage method in this modality of the present invention, data records of different correlated data objects can be stored adjacent, to form a grouping table. For example, the first data record in table 3 is the first record in original table 1, the second to the fourth record in table 3 are from the first to the third record in original table 2, and these data records are stored adjacent to the distributed database of type KeyValue due to the fact that they have the same ID. Through adjacent storage, a data access rate can be increased, and query efficiency can be further improved. [063] The following describes a way of implementing a query of a data table obtained according to the aforementioned storage method. [064] In this embodiment of the present invention, optionally, as shown in Figure 4, method 100 additionally includes: S160: Receiving a data request, in which the data request instructs to consult or obtain a data record in at least two data objects. S170: Build, according to the row identifier format, query information to query the distributed database of type KeyValue, where the query information includes the same column attribute. S180: Export, according to the query information, a data record whose primary index includes the query information from the distributed database of type KeyValue. [065] Specifically, when a data request to query or obtain a data record is received, the data storage device builds query information according to the row identifier format, where the query information needs to include the same column attribute, and then the data storage device performs the query using the constructed query information, to obtain a data record whose primary index includes the query information in the distributed database of type KeyValue. [066] Optionally, when the row identifier format includes the first prefix, the query information includes the first prefix and the same column attribute. [067] For example, when student information and variable student curriculum information are obtained using a student's student number (ID = 0001), query information: A0001 can be constructed, student information and information Variable student student curriculum vitae with student number (ID = 0001) can be obtained in table 3 by querying range. A query result obtained is shown in table 4. In the query process, only one table needs to be consulted, and the location of user data needs to be completed only once. As student information and variable student curriculum information are stored adjacent, a quick payback can be implemented. Table 4 [068] Therefore, in the data storage method in this modality of the present invention, correlated data objects are stored in a distributed database of the KeyValue type through the use of a row identifier format that includes the same column attribute, so that correlated data objects can be stored as a grouping in a data table, and the correlated query can be deployed in a data table, thereby improving data query efficiency. [069] In this embodiment of the present invention, optionally, method 100 additionally includes: [070] Determine that a secondary index format, in the distributed database of type KeyValue, of any data object in at least two data objects is a second prefix, a second attribute and the same column attribute, where the second attribute is a column attribute that is in the column attributes of any data object and is different from the same attribute, and the second prefix is a different constant from the first prefix. [071] Determine the secondary index of any data object according to the format of the secondary index of any data object. [072] Store the secondary index of any data object in the distributed database of type KeyValue. Specifically, to satisfy a complex query scenario, secondary index information can be constructed for a data object. The data from a primary index and secondary index of the same data object are stored in the same table, but different formats of row identifiers are used to implement data separation in the same table. In addition, the correlated query can be completed using secondary index information. A secondary index row identifier format is a second prefix, a second attribute and the same attribute. The second prefix is different from the first prefix in order to implement data separation; the second attribute is an attribute different from the same attribute in order to facilitate the construction of query information according to the second attribute; and the same attribute is used for correlation with a primary index. [073] For example, when data table object 1 and data table object 2 are stored in the distributed database of type KeyValue, a primary index RowKey format of table 1 can be: A + ID + M; a primary index RowKey format from table 2 can be: A + ID + N + n °; and a secondary index RowKey format from table 1 can be: B + name + ID. Thus, table 5 is obtained when storage is performed in the distributed database of type KeyValue in a lexicographic order of RowKey values. Table 5 [074] It should be understood that, in columns corresponding to secondary index RowKeys, column information, such as a specific critical piece of column information, can also be stored, which is not limited to this embodiment of the present invention. [075] When student information and variable student curriculum information are obtained through the use of a student name (name = Zhang San), query information: BZhang San can be constructed, complete secondary index RowKey information: BZhang SanOOOl can be obtained in table 5 through the range query. The secondary index RowKey is analyzed, to obtain ID = 0001. Then, query information: A0001 is additionally constructed, and student information and variable student curriculum information can be obtained in table 5 by performing additional query. This helps a user to query when the user only knows a name, but does not know an ID. [076] Therefore, in the data storage method in this modality of the present invention, a secondary index of a data object is stored in a distributed database of the KeyValue type, so that more diverse query scenarios can be provided for a user, and user consultation can be facilitated, thereby improving data query efficiency. [077] In this embodiment of the present invention, row identifier formats for multiple data objects can also be deployed in another way, for example, row identifier formats for different data objects can include different prefixes, or include no prefixes . [078] For example, when no prefix is used, a RowKey is in the following format: RowKey = same column attribute + data object identifier (+ another attribute). [079] Data records from different data objects can be stored adjacent using the same column attribute, and different data objects are distinguished using a data object identifier that corresponds to each object. Dice. In addition, when the same column attribute can distinguish all data records from a data object (expressed as a first data object), a RowKey format of the first data object does not include another attribute; and when the same column attribute cannot distinguish all data records from a data object (expressed as a second data object), a RowKey format of the second data object must additionally include an attribute that is in other attributes of column of the second data object and can distinguish all data records from the second data object. [080] Using table 1 and table 2 as examples, the same column attribute is ID. For table 1, ID can distinguish all data records from table 1; therefore, a RowKey format of table 1 can be: ID + M [081] For table 2, ID cannot distinguish all data records from table 2, and n ° can distinguish all data records from table 2; therefore, a RowKey format of table 2 can be: ID + N + n ° [082] Thus, table 6 is obtained when storage is performed in the distributed database of type KeyValue in a lexicographic order of RowKey values. Table 6 [083] When student information and student variable curriculum information are obtained using a student's student number (ID = 0001), query information: 0001 can be constructed, student information and variable curriculum information student number with student number (ID = 0001) can be obtained by querying range. In the query process, only one table needs to be consulted, and the location of user data needs to be completed only once. As student information and variable student curriculum information are stored adjacent, a quick payback can be implemented. [084] When different prefixes are used for different data objects, a RowKey is in the following format: RowKey = prefix that corresponds to a data object + the same column attribute (+ another attribute). [085] When different prefixes are used for different data objects, it is implemented that different data objects are stored on different partitions. In addition, when the same column attribute can distinguish all data records from a data object (expressed as a first data object), a RowKey format of the first data object does not include another attribute; and when the same column attribute cannot distinguish all data records from a data object (expressed as a second data object), a RowKey format of the second data object must additionally include an attribute that is in other attributes of column of the second data object and can distinguish all data records from the second data object. [086] Using table 1 and table 2 as examples, the same column attribute is ID. For table 1, ID can distinguish all data records from table 1; therefore, a RowKey format from table 1 can be: A + ID [087] For table 2, ID cannot distinguish all data records from table 2, and n ° can identify all data records from table 2; therefore, a RowKey format from table 2 can be: B + ID + n ° [088] Thus, table 7 is obtained when storage is performed in the distributed database of type KeyValue in a lexicographic order of RowKey values. Table 7 [089] RowKey formats for different data objects include different prefixes, so that different data objects can be stored in different partitions in the distributed database of type KeyValue. [090] It should be understood that the sequence numbers of the aforementioned processes do not mean execution orders in various modalities of the present invention. The execution orders of the processes should be determined according to the functions and internal logic of the processes, and should not be interpreted as any limitation in the processes of implementation of the modalities of the present invention. [091] In the data storage method in this embodiment of the present invention, multiple data objects are stored in a data table in a distributed database of the KeyValue type according to a uniform row identifier format, which in this way facilitates database administration and improves data query efficiency. [092] A data storage method according to an embodiment of the present invention is described in detail above, and a data storage apparatus according to an embodiment of the present invention is described below. [093] Figure 5 shows a schematic block diagram of a data storage device 500 according to an embodiment of the present invention. As shown in Figure 5, the apparatus 500 includes: a determination module 510, configured to determine the same column attribute of at least two data objects that must be stored in a distributed key-type KeyValue database; determine a format of a row identifier, in the distributed database of type KeyValue, of each data object in at least two data objects, where the row identifier format includes the same column attribute and an object identifier data, and data object identifiers of different data objects in the at least two data objects are in the same location in the row identifier format and located behind the same column attribute; and determining a row identifier value for each data record of each data object in accordance with the determined row identifier format of each data object; and a storage module 520, configured to store the row identifier value of each data record and each data record in the distributed database of type KeyValue, where the row identifier value of each data record is used as a primary index, in the distributed database of type KeyValue, of each data record. [094] When multiple (that is, at least two) data objects are correlated, that is, multiple data objects have the same column attribute, to facilitate a correlated query on multiple data objects, the data storage device 500 stores multiple data objects in a distributed database table of type KeyValue. The determination module 510 determines, based on the same column attribute, a format of a row identifier (for example, a RowKey), in the distributed database of type KeyValue, of each data object, in which the format of row identifier includes the same column attribute and a data object identifier, and data object identifiers of different data objects in the at least two data objects are in the same location in the row identifier format and located behind the same column attribute. That is, row identifier formats for all data objects include the same column attribute in order to facilitate a query, and additionally include data object identifiers that correspond to the data objects in order to distinguish different data objects. The data object identifiers of different data objects are in the same location in row identifier formats and located behind the same column attribute, so that the row identifier formats of different data objects are of a consistent structure . Then, the determination module 510 determines a row identifier value for each data record in each data object according to the determined row identifier format. The storage module 520 stores the row identifier value of each data record and each data record in the distributed database of type KeyValue, where the row identifier value of each data record is used as a primary index. , in the distributed database of type KeyValue, of each data record. Due to the fact that consistent row identifier formats are used for multiple correlated data objects, therefore, during data query, query information is constructed according to row identifier formats, so that the query correlated data can be deployed across multiple data objects in a data table, thereby improving data query efficiency. [095] Therefore, in the data storage device in this modality of the present invention, correlated data objects are stored in a distributed database of the KeyValue type through the use of a row identifier format that includes the same column attribute, so that the correlated query can be deployed across multiple data objects, thereby improving data query efficiency. [096] In this embodiment of the present invention, optionally, the storage module 520 is additionally configured to: for row identifier values of all data records, classify all data records in a first order, so that all data records of at least two data objects form a grouping table. [097] In this embodiment of the present invention, optionally, the first order is a lexicographic order. [098] In this embodiment of the present invention, optionally, the determination module 510 is specifically configured to specify a first prefix of a row identifier in the distributed database of type KeyValue for the at least two data objects, where the first prefix is a constant; and determining that a row identifier format of a first data object in at least two data objects includes the first prefix, the same column attribute and a data object identifier for the first data object; or determine that a row identifier format for a second data object in at least two data objects includes the first prefix, the same column attribute, a data object identifier for the second data object, and a column attribute that it is in column attributes of the second data object and can distinguish all data records from the second data object. [099] In this embodiment of the present invention, optionally, as shown in Figure 6, the device 500 additionally includes: a receiving module 530, configured to receive a data request, in which the data request instructs to consult or obtain a record data in at least two data objects; and [100] A 540 query module, configured to build, according to the row identifier format, query information to query the distributed database of type KeyValue, where the query information includes the same column attribute; and export, according to the query information, a data record whose primary index includes the query information from the distributed database of type KeyValue. [101] Optionally, when the row identifier format includes the first prefix, the query information includes the first prefix and the same column attribute. [102] In this embodiment of the present invention, optionally, the determination module 510 is additionally configured to determine that a secondary index format, in the distributed database of type KeyValue, of any data object in at least two data objects is a second prefix, a second attribute and the same column attribute, where the second attribute is a column attribute that is in the column attributes of any data object and is different from the same attribute, and the second prefix is a constant different from the first prefix; and determining the secondary index of any data object according to the format of the secondary index of any data object; and the storage module 520 is additionally configured to store the secondary index of any data object in the distributed database of type KeyValue. [103] In the data storage device in this embodiment of the present invention, a secondary index of a data object is stored in a distributed database of the KeyValue type, so that more diverse query scenarios can be provided for a user, and user consultation can be facilitated, thereby improving data query efficiency. [104] In this embodiment of the present invention, optionally, a separator is defined between fields in the format of a row identifier, or the fields have a fixed length. [105] The data storage device 500 according to this embodiment of the present invention can correspond to the data storage device in the method according to the aforementioned embodiment of the present invention, and the aforementioned and other operations and / or functions of the modules of the data storage device 500 are separately carried out to implement corresponding procedures of the methods in Figure 1 to Figure 4. For the sake of brevity, details are not repeated in this document. [106] In the data storage apparatus in this embodiment of the present invention, multiple data objects are stored in a data table in a distributed database of the KeyValue type according to a uniform row identifier format, which in this way facilitates database administration and improves data query efficiency. [107] Figure 7 shows a structure of a data storage device according to another embodiment of the present invention, which includes at least one 702 processor (for example, a CPU), at least one 705 network interface or another interface communications, a memory 706, and at least one communications bus 703 configured to implement connection and communication between these devices. Processor 702 is configured to run an executable module, such as a computer program, stored in memory 706. Memory 706 may include high speed random access memory (RAM: random access memory), and may additionally include a non-volatile memory (non-volatile memory), for example, at least one magnetic disk storage. Communication and connection with at least one other network element are implemented using at least one 705 network interface (which can be wired or wireless). [108] In some deployment ways, memory 706 stores a 7061 program, the 7061 program can be run by the 702 processor, and the program includes: determining the same column attribute of at least two data objects that must be stored in a distributed database of type KeyValue; determine a format of a row identifier, in the distributed database of type KeyValue, of each data object in at least two data objects, where the row identifier format includes the same column attribute and an object identifier data, and data object identifiers of different data objects in the at least two data objects are in the same location in the row identifier format and located behind the same column attribute; determining a row identifier value for each data record for each data object according to the determined row identifier format for each data object; and store the row identifier value of each data record and each data record in the distributed database of type KeyValue, where the row identifier value of each data record is used as a primary index, in the database distributed data of type KeyValue, of each data record. [109] Optionally, the program additionally includes: for row identifier values of all data records, classify all data records in a first order, so that all data records of at least two data objects form a grouping table. [110] Optionally, the first order is a lexicographic order. [111] Optionally, the program additionally includes: receiving a data request, in which the data request instructs to consult or obtain a data record on at least two data objects; build, according to the row identifier format, query information to query the distributed database of type KeyValue, where the query information includes the same column attribute; and export, according to the query information, a data record whose primary index includes the query information from the distributed database of type KeyValue. [112] Optionally, determining a format of a row identifier, in the distributed database of type KeyValue, of each data object in at least two data objects includes: specifying a first prefix of a row identifier in the bank of distributed data of type KeyValue for at least two data objects, where the first prefix is a constant; and determining that a row identifier format of a first data object in at least two data objects includes the first prefix, the same column attribute and a data object identifier for the first data object; or determine that a row identifier format for a second data object in at least two data objects includes the first prefix, the same column attribute, a data object identifier for the second data object, and a column attribute that it is in column attributes of the second data object and can distinguish all data records from the second data object. [113] Optionally, query information includes the first prefix and the same column attribute. [114] Optionally, the program additionally includes: determining that a secondary index format, in the distributed database of type KeyValue, of any data object in at least two data objects is a second prefix, a second attribute and the same column attribute, where the second attribute is a column attribute that is in column attributes of any data object and is different from the same attribute, and the second prefix is a different constant from the first prefix; determine the secondary index of any data object according to the format of the secondary index of any data object; and store the secondary index of any data object in the distributed database of type KeyValue. [115] Optionally, a separator is defined between fields in the form of a row identifier, or the fields have a fixed length. [116] It can be seen from the aforementioned technical solutions provided in the modalities of the present invention, in the modalities of the present invention, that correlated data objects are stored in a distributed database of the KeyValue type through the use of an identifier format row that includes the same column attribute, so that the correlated query can be deployed on multiple data objects, thereby improving data query efficiency. [117] It should be understood that the term "and / or", in this embodiment of the present invention, describes only one correlation to describe correlated objects and represents that three relationships can exist. For example, A and / or B can represent the following three cases: Only A exists, both A and B exist and only B exists. In addition, the "/" character in this specification generally indicates an "or" relationship between the correlated objects. [118] A person of ordinary skill in the art may be aware that, in combination with the examples described in the modalities revealed in the specification, unit steps and algorithms can be implemented by electronic hardware, computer software or a combination thereof. To clearly describe the interchangeability between hardware and software, the aforementioned described in general terms the compositions and steps of each example according to the functions. Whether the functions are performed by hardware or software depends on model limitation conditions and particular requests for technical solutions. A person skilled in the art may use different methods to implement the functions described for each particular application, but the deployments should not be considered to be beyond the scope of the present invention. [119] It can be clearly understood by a person versed in the technique that, for the purpose of a brief and convenient description, for a detailed working process of the above-mentioned system, apparatus, and unit, reference can be made to a corresponding process in the modalities of the methods mentioned above, and the details are not described again in this document. [120] In the various modalities provided in the present application, it should be understood that the revealed system, apparatus, and method can be implemented in other ways. For example, the described apparatus modalities are merely exemplary. For example, the unit division is merely a logical function division and can be another division in an actual implementation. For example, a plurality of units or components can be combined or integrated into another system, or some characteristics can be ignored or not realized. In addition, mutual couplings or direct couplings or communication connections displayed or discussed can be implemented through the use of some interfaces. Indirect couplings or communication connections between devices or units can be implemented in electronic, mechanical, or other ways. [121] The units described as separate parts may or may not be physically separated, and the parts displayed as units may or may not be physical units, may be located in one position, or may be distributed in a plurality of network units. Some or all of the units can be selected according to the real needs to achieve the objectives of the solutions of the present invention. [122] In addition, functional units in the embodiments of the present invention can be integrated into a processing unit, or each of the units can physically exist alone, or two or more units are integrated into one unit. The integrated unit can be deployed in a form of hardware or it can be deployed in the form of a functional software unit. [123] When the integrated unit is deployed as a functional software unit and marketed or used as a standalone product, the integrated unit can be stored on a computer-readable storage medium. Based on such an understanding, essentially the technical solutions of the present invention, or the part that contributes to the prior art, or all or part of the technical solutions can be deployed in the form of a software product. The software product is stored on a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server or a network device) in order to perform all or part of the steps of the methods described in the modalities of the present invention. The aforementioned storage medium includes: any medium that can store a program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM) , Random Access Memory), a magnetic disk or an optical disk. [124] The aforementioned descriptions are merely specific embodiments of the present invention, however, they are not intended to limit the scope of protection of the present invention. Any modification or replacement readily perceived by a person skilled in the art that falls within the scope of the technique disclosed in the present invention must fall within the scope of protection of the present invention. Therefore, the scope of protection of the present invention must be subject to the scope of protection of the claims.
权利要求:
Claims (12) [0001] 1. Data storage method, CHARACTERIZED by the fact that it comprises: determining (110) the same column attribute of at least two data objects that must be stored in a distributed key-type KeyValue database; determine (120) a format of a row identifier, in the distributed database of type KeyValue, of each data object in at least two data objects, where the row identifier format comprises the same column attribute and a data object identifier, and data object identifiers of different data objects in at least two data objects are in the same location in the row identifier format and located behind the same column attribute; determining (130) a row identifier value for each data record of each data object in accordance with the determined row identifier format of each data object; classify (150) all data records for at least two data objects in a first order according to row identifier values for all data records, where all data records for at least two data objects form a grouping table; store (140) each data record in the collation table and the row identifier value of each data record in the distributed database of type KeyValue, where the row identifier value of each data record is used as a primary index, in the distributed database of type KeyValue, of each data record; receiving (160) a data request, in which the data request instructs to query or obtain a data record on at least two data objects; build (170), according to the row identifier format, query information to query the distributed database of type KeyValue, where the query information comprises the same column attribute; and export (180), according to the query information, a data record whose primary index comprises the query information from the distributed database of type KeyValue. [0002] 2. Method, according to claim 1, CHARACTERIZED by the fact that the first order is a lexicographic order. [0003] 3. Method, according to claim 1 or 2, CHARACTERIZED by the fact that the determination of a format of a row identifier, in the distributed database of type KeyValue, of each data object in at least two data objects comprises: specifying a first row identifier prefix in the distributed database of type KeyValue for at least two data objects, where the first prefix is a constant; and determining that a row identifier format of a first data object in at least two data objects comprises the first prefix, the same column attribute and a data object identifier for the first data object; or determine that a row identifier format for a second data object in at least two data objects comprises the first prefix, the same column attribute, a data object identifier for the second data object and a column attribute that it is in column attributes of the second data object and can distinguish all data records from the second data object. [0004] 4. Method, according to claim 3, CHARACTERIZED by the fact that the query information comprises the first prefix and the same column attribute. [0005] 5. Method, according to claim 3 or 4, CHARACTERIZED by the fact that the method additionally comprises: determining that a format of a secondary index, in the distributed database of type KeyValue, of any data object in at least two data objects is a second prefix, a second attribute and the same column attribute, where the second attribute is a column attribute that is in any other object's column attributes and is different from the same attribute, and the second prefix is a constant other than the first prefix; determining the secondary index of any data object according to the format of the secondary index of any data object; and store the secondary index of any data object in the distributed database of type KeyValue. Ml [0006] 6. Method according to any one of claims 1 to 5, CHARACTERIZED by the fact that a separator is defined between fields in the format of a row identifier, or the fields have a fixed length. [0007] 7. Data storage device, FEATURED by the fact that it comprises: a determination module (510), configured to determine the same column attribute of at least two data objects that must be stored in a distributed database of the type KeyValue of key value; determine a format of a row identifier, in the distributed database of type KeyValue, of each data object in at least two data objects, where the row identifier format comprises the same column attribute and an object identifier data, and data object identifiers of different data objects in the at least two data objects are in the same location in the row identifier format and located behind the same column attribute; and determining a row identifier value for each data record of each data object in accordance with the determined row identifier format of each data object; a storage module (520), configured to classify all data records of at least two data objects in a first order according to row identifier values of all data records, where all data records of at least two data objects form a collation table, and to store each data record in the collation table and the row identifier value of each data record in the distributed database of type KeyValue, where the identifier value row of each data record is used as a primary index, in the distributed database of type KeyValue, of each data record; a receiving module (530), configured to receive a data request, where the data request instructs to query or obtain a data record on at least two data objects; and a query module (540), configured to construct, according to the row identifier format, query information to query the distributed database of type KeyValue, in which the query information comprises the same column attribute; and export, according to the query information, a data record whose primary index comprises the query information from the distributed database of the KeyValue type. [0008] 8. Apparatus, according to claim 7, CHARACTERIZED by the fact that the first order is a lexicographic order. [0009] 9. Apparatus according to claim 7 or 8, CHARACTERIZED by the fact that the determination module (510) is specifically configured to specify a first prefix of the row identifier in the distributed database of type KeyValue for at least two data objects, where the first prefix is a constant; and determining that a row identifier format of a first data object in at least two data objects comprises the first prefix, the same column attribute and a data object identifier for the first data object; or determine that a row identifier format for a second data object in at least two data objects comprises the first prefix, the same column attribute, a data object identifier for the second data object and a column attribute that it is in column attributes of the second data object and can distinguish all data records from the second data object. [0010] 10. Apparatus, according to claim 9, CHARACTERIZED by the fact that the query information comprises the first prefix and the same column attribute. [0011] 11. Apparatus, according to claim 9 or 10, CHARACTERIZED by the fact that the determination module (510) is additionally configured to determine that a secondary index format, in the distributed database of the KeyValue type, of any data object in at least two data objects is a second prefix, a second attribute and the same column attribute, where the second attribute is a column attribute that is in column attributes of any data object and is different from same attribute, and the second prefix is a different constant from the first prefix; and determining the secondary index of any data object according to the format of the secondary index of any data object; and the storage module (520) is additionally configured to store the secondary index of any data object in the distributed database of type KeyValue. [0012] Apparatus according to any one of claims 7 to 11, CHARACTERIZED by the fact that a separator is defined between fields in the form of a row identifier, or the fields have a fixed length.
类似技术:
公开号 | 公开日 | 专利标题 BR112016004490B1|2020-11-10|device and method of data storage EP2921964B1|2017-12-20|Partition expansion method and device US20170286484A1|2017-10-05|Graph Data Search Method and Apparatus CN103970722A|2014-08-06|Text content duplicate removal method JP2016534456A5|2017-05-18| JP2013541090A5|2013-12-19| WO2020052379A1|2020-03-19|Method and apparatus for processing metadata of object in distributed storage system WO2018090606A1|2018-05-24|Data storage method and device WO2016178655A1|2016-11-10|Secure multi-party information retrieval US11182365B2|2021-11-23|Systems and methods for distributed storage of data across multiple hash tables CN105117489B|2018-10-19|A kind of data base management method, device and electronic equipment WO2019071896A1|2019-04-18|Website duplicate removing method, electronic device and computer readable storage medium TWI639924B|2018-11-01|Storage management system, management device and method thereof WO2016037499A1|2016-03-17|Memory migration method and device WO2019119635A1|2019-06-27|Seed user development method, electronic device and computer-readable storage medium US20130247037A1|2013-09-19|Control computer and method for integrating available computing resources of physical machines US9519527B1|2016-12-13|System and method for performing internal system interface-based communications in management controller JP2012064012A5|2013-04-04|Computer system and storage volume management method US20200394163A1|2020-12-17|Method, device, and computer apparatus for merging regions of hbase table JP6397105B2|2018-09-26|Method and apparatus for storing data US20190014016A1|2019-01-10|Data acquisition device, data acquisition method and storage medium WO2017185210A1|2017-11-02|File filtering method and apparatus using bloomfilter CN106990998B|2020-10-27|Virtual machine monitoring method and device WO2017206562A1|2017-12-07|Data table processing method, device, and system WO2015062371A1|2015-05-07|Memory allocation method and device
同族专利:
公开号 | 公开日 JP6225261B2|2017-11-01| CA2921616A1|2015-03-05| CN103703467A|2014-04-02| CN106649708A|2017-05-10| CA2921616C|2017-03-07| US20160179856A1|2016-06-23| WO2015027425A1|2015-03-05| US20170132260A1|2017-05-11| EP3023885A4|2016-06-29| KR20160040282A|2016-04-12| KR101720602B1|2017-03-29| US10331642B2|2019-06-25| US9589004B2|2017-03-07| CN103703467B|2017-02-08| EP3023885A1|2016-05-25| EP3023885B1|2019-10-30| JP2016534456A|2016-11-04|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US5295256A|1990-12-14|1994-03-15|Racal-Datacom, Inc.|Automatic storage of persistent objects in a relational schema| JPH0567159A|1991-09-10|1993-03-19|Nec Software Kansai Ltd|Table form data processing device| JPH0736756A|1993-07-21|1995-02-07|Hitachi Ltd|Object management system| US5878411A|1997-06-27|1999-03-02|International Business Machines Corporation|Dependent object class and subclass mapping to relational data store| US5995973A|1997-08-29|1999-11-30|International Business Machines Corporation|Storing relationship tables identifying object relationships| US6101502A|1997-09-26|2000-08-08|Ontos, Inc.|Object model mapping and runtime engine for employing relational database with object oriented software| US6112207A|1997-10-31|2000-08-29|Oracle Corporation|Apparatus and method which features linearizing attributes of an information object into a string of bytes for object representation and storage in a database system| US6094649A|1997-12-22|2000-07-25|Partnet, Inc.|Keyword searches of structured databases| US6385618B1|1997-12-22|2002-05-07|Sun Microsystems, Inc.|Integrating both modifications to an object model and modifications to a database into source code by an object-relational mapping tool| US6360223B1|1997-12-22|2002-03-19|Sun Microsystems, Inc.|Rule-based approach to object-relational mapping strategies| US6374256B1|1997-12-22|2002-04-16|Sun Microsystems, Inc.|Method and apparatus for creating indexes in a relational database corresponding to classes in an object-oriented application| US6122639A|1997-12-23|2000-09-19|Cisco Technology, Inc.|Network device information collection and change detection| US6769124B1|1998-07-22|2004-07-27|Cisco Technology, Inc.|Persistent storage of information objects| US6341289B1|1999-05-06|2002-01-22|International Business Machines Corporation|Object identity and partitioning for user defined extents| US6754670B1|1999-12-17|2004-06-22|International Business Machines Corporation|Mapping relational tables to object oriented classes| US6591275B1|2000-06-02|2003-07-08|Sun Microsystems, Inc.|Object-relational mapping for tables without primary keys| EP1211610A1|2000-11-29|2002-06-05|Lafayette Software Inc.|Methods of organising data and processing queries in a database system| EP1217541A1|2000-11-29|2002-06-26|Lafayette Software Inc.|Method of processing queries in a database system, and database system and software product for implementing such method| IL156123D0|2000-11-29|2003-12-23|Lafayette Software Inc|Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods| JP2005234612A|2001-05-07|2005-09-02|I-Ze Communications Inc|Integration of databases| US20030154197A1|2002-02-13|2003-08-14|Permutta Technologies|Flexible relational data storage method and apparatus| US7103588B2|2003-05-05|2006-09-05|International Business Machines Corporation|Range-clustered tables in a database management system| US7203712B2|2004-02-26|2007-04-10|International Business Machines Corporation|Algorithm to find LOB value in a relational table after key columns have been modified| JP2006065467A|2004-08-25|2006-03-09|Hitachi Ltd|Device for creating data extraction definition information and method for creating data extraction definition information| US7493313B2|2004-09-17|2009-02-17|Microsoft Corporation|Durable storage of .NET data types and instances| US7900201B1|2004-12-21|2011-03-01|Zenprise, Inc.|Automated remedying of problems in software application deployments| CN101198953B|2005-05-13|2010-07-28|Abb研究有限公司|Sole representation of generating physical assets| US20080059492A1|2006-08-31|2008-03-06|Tarin Stephen A|Systems, methods, and storage structures for cached databases| CN102193917B|2010-03-01|2014-03-26|中国移动通信集团公司|Method and device for processing and querying data| US8458191B2|2010-03-15|2013-06-04|International Business Machines Corporation|Method and system to store RDF data in a relational store| CN103262062A|2010-12-03|2013-08-21|惠普发展公司,有限责任合伙企业|Systems and methods for performing a nested join operation| JP5727258B2|2011-02-25|2015-06-03|ウイングアーク1st株式会社|Distributed database system| EP2795487A4|2011-12-23|2015-07-29|Amazon Tech Inc|Scalable analysis platform for semi-structured data| CN103116625A|2013-01-31|2013-05-22|重庆大学|Volume radio direction finde data distribution type query processing method based on Hadoop| GB2513329A|2013-04-23|2014-10-29|Ibm|Method and system for scoring data in a database| US10235391B2|2013-06-18|2019-03-19|Change Healthcare Holdings, Llc|Method and apparatus for implementing dynamic database traversal| CN106649708A|2013-08-29|2017-05-10|华为技术有限公司|Method and device for storing data|CN106649708A|2013-08-29|2017-05-10|华为技术有限公司|Method and device for storing data| CN105095268A|2014-05-12|2015-11-25|深圳市同洲电子股份有限公司|Method and apparatus for accessing structured data| CN104021161B|2014-05-27|2018-06-15|华为技术有限公司|A kind of clustering storage method and device| CN104102711B|2014-07-15|2017-12-01|中国联合网络通信集团有限公司|A kind of method and system of HBase database purchases internet records| US10671594B2|2014-09-17|2020-06-02|Futurewei Technologies, Inc.|Statement based migration for adaptively building and updating a column store database from a row store database based on query demands using disparate database systems| US9836507B2|2014-09-17|2017-12-05|Futurewei Technologies, Inc.|Method and system for adaptively building a column store database from a temporal row store database based on query demands| CN104408150A|2014-12-03|2015-03-11|天津南大通用数据技术股份有限公司|Data import/ export method and device adapted to a plurality of data formats of databases| CN106326305A|2015-06-30|2017-01-11|星环信息科技(上海)有限公司|Storage method and equipment for data file and inquiry method and equipment for data file| CN108170726A|2015-10-21|2018-06-15|华为技术有限公司|Data query method and apparatus| CN105630934A|2015-12-23|2016-06-01|浪潮电子信息产业股份有限公司|Data statistic method and system| CN105653611B|2015-12-24|2019-08-20|深圳市汇朗科技有限公司|Divide table Page sorting querying method and device| CN105740405B|2016-01-29|2020-06-26|华为技术有限公司|Method and device for storing data| CN107463512B|2017-06-26|2020-11-13|上海高顿教育培训有限公司|Data updating method of distributed high-speed storage system| CN107832389B|2017-10-31|2020-12-25|新华三大数据技术有限公司|Data management method and device| CN108681563B|2018-04-28|2021-08-27|新疆熙菱信息技术股份有限公司|Service publishing and accessing system based on one table of multiple users| CN110647517A|2018-06-11|2020-01-03|北京神州泰岳软件股份有限公司|Processing method and device for table data structure| CN108920725B|2018-08-02|2020-08-04|网宿科技股份有限公司|Object storage method and object storage gateway| CN110297832B|2019-07-01|2021-12-24|联想有限公司|Time sequence data storage method and device and time sequence data query method and device| CN111324605B|2020-01-22|2020-11-10|北京东方金信科技有限公司|Dynamic adjustment method and application for data hybrid storage in database|
法律状态:
2018-08-07| B07A| Technical examination (opinion): publication of technical examination (opinion)| 2018-11-21| B09B| Decision: refusal| 2019-02-05| B12B| Appeal: appeal against refusal| 2020-11-10| B16A| Patent or certificate of addition of invention granted|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 29/08/2013, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 PCT/CN2013/082544|WO2015027425A1|2013-08-29|2013-08-29|Method and device for storing data| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|